package asteroids.model.programs;

import be.kuleuven.cs.som.annotate.*;

public abstract class  Expression<T> implements Cloneable {
	
	public abstract boolean hasAsSubExpression(Expression<? extends T> expression);
	
	public void setValue(T value){
		this.value=value;
	}
	
	@Basic @Immutable
	public T getValue(Program program){
		return value;
	}
	
	private T value;








}
